#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include "tp2.h"
#define tamanho 200

  //verificar parametros... acredito q seja soh preciso a sk ela vai apontar pra
  //lista invertida q aponta pra pk...
    void BuscaSK(PK *lista,int nsk){
    PK *found,*indicador;  
    FILE *listainvertida;
    char c, s[200],aux[200],buffer[200];
    int i=0,j=FALSE,k=0,nrraux;
    listainvertida=fopen("listatitulo.dat","r");
    printf("Entre com as palavras com as quais deseja buscar:\n");
        
    scanf("%c",&c);
    while(c=='\n'){
      printf("A palavra deve conter no minimo 1 caractere!\n");
      scanf("%c",&c);
    }
    while(c!='\n'){
      j=TRUE;
      s[i]=c;
      i++;
      if(i>tamanho){
        printf("A palavra deve conter no maximo 200 caracteres!\n");
        i=0;
        printf("Digite novamente!\n");
 
        while(c!='\n'){
          scanf("%c",&c);
        }
        j=FALSE;
      }
      scanf("%c",&c);
      if(s[0]==' '){
        i=0;
        j=FALSE;
      }       
      if(j==FALSE && i==0){
        while(c=='\n'){
          printf("A palavra deve conter no minimo 1 caractere!\n");
          scanf("%c",&c);
        }
      }
    }

    s[i]='\n';
    i=0;
    while(s[i]!='\n'){
      i++;
    }
    while(i<=(tamanho-1)){
      s[i]=' ';
      i++;
    }
    
    i=0;
    while(s[i]!=' ' && i<tamanho){
      k=0;
      while(s[i]!=' ' && i<tamanho){
        aux[k]=s[i];
        i++;
        k++;
      }
      i++;
      while(k<200){
        aux[k]=' ';
        k++;
      }

       if(nsk>0){
        found=BSearch(lista,aux,0,nsk-1);
      }
      else{
        found=NULL;
      }
 
    if(found == NULL){
      printf("NAO HA OBRAS COM ESSE NOME\n");
    }
    else{
         printf("%d\n",found->NRR);
         fseek(listainvertida,(found->NRR)*204,0);
         while(nrraux!=-1){
         fread(buffer,1,200,listainvertida);
         fread(&nrraux,1,4,listainvertida);
        
         for(i=0;i<200;i++){
          printf("%c",buffer[i]);
         }
         printf("\n");
         printf("%d\n",nrraux);
         if(nrraux!=-1){
           fseek(listainvertida,(nrraux)*204,0);
         }
         }
         }
    }
    fclose(listainvertida);
    return;
    }
                  
                  
